layui.use(['table', 'layer'], function () {
    var layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        table = layui.table;


//第一个实例
    var tableIns = table.render({
        id: 'saleChanceTable'
        , elem: '#saleChanceList'
        //容器的高度，full差值
        , height: 'full-125'
        //请求数据的接口 从
        , url: '/crm/sale_chance/list' //数据接口
        , cellMinWidth: 95  //最小表格宽度
        , limit: 10   //每页显示数量为10条
        , page: true //开启分页
        , limits: [10, 20, 30, 40]  // 每页页数的可选项
        , toolbar: '#toolbarDemo'
        , cols: [[ //表头
            //field 设定字段名。非常重要，且是表格数据列的唯一标识
            //title设定标题名称
            //sort 是否允许排序（默认：false）。如果设置 true，则在对应的表头显示排序icon，从而对列开启排序功能。
            //fixed
            {type: 'checkbox', fixed: 'center'}
            , {field: 'id', title: 'ID', sort: true, fixed: 'left'}
            , {field: 'chanceSource', title: '机会来源', align: 'center'}
            , {field: 'customerName', title: '客户姓名', align: 'center'}
            , {field: 'cgjl', title: '成功几率', align: 'center'}
            , {field: 'overview', title: '概要', align: 'center'}
            , {field: 'linkMan', title: '联系人', align: 'center'}
            , {field: 'linkPhone', title: '联系号码', align: 'center'}
            , {field: 'description', title: '描述', align: 'center'}
            , {field: 'createMan', title: '创建人', align: 'center'}
            , {field: 'uname', title: '分配人', align: 'center'}
            , {field: 'assignTime', title: '分配时间', align: 'center'}
            , {
                field: 'state', title: '分配状态', align: 'center', templet: function (d) {
                    return formatState(d.state);
                }
            }
            , {
                field: 'devResult', title: '开发状态', align: 'center', templet: function (d) {
                    return formatDevResult(d.devResult);
                }
            }
            , {field: 'updateDate', title: '更新时间', align: 'center'}
            , {title: '操作', templet: '#saleChanceListBar', fixed: 'right', align: 'center', minWith: '200'}
        ]]
    });

    /**
     *      * 格式化分配状态
     * 0 未分配
     * 1 已分配
     * 其他 未知
     * @param state
     * @returns {string}
     */
    function formatState(state) {

        if (state == 0) {
            return "<div style='color: orange'>未分配</div>";
        } else if (state == 1) {
            return "<div style='color: green'>已分配</div>";
        } else {
            return "<div style='color: red'>未知</div>";
        }
    }

    /**
     * 格式化开发状态
     * 1 开发中
     * 0  未开发
     * 2 开发成功
     * 3  开发失败
     * 其他 未知
     * @param devResult
     * @returns {string}
     */
    function formatDevResult(devResult) {
        if (devResult == 0) {
            return "<div style='color: blueviolet'>未开发</div>";
        } else if (devResult == 1) {
            return "<div style='color: orange'>开发中</div>";
        } else if (devResult == 2) {
            return "<div style='color: green'>开发成功</div>";
        } else if (devResult == 3) {
            return "<div style='color: red'>开发失败</div>";
        } else {
            return "<div style='color: blue'>未知</div>";
        }
    }

    /**
     * 搜索按钮的点击事件
     */
    $(".search_btn").click(function () {
        tableIns.reload({
            //设置需要传递给后端的参数
            where: { //设置异步数据接口的额外参数，任意设
                customerName: $("[name='customerName']").val(),
                createMan: $("[name='createMan']").val(),
                state: $("[name='state']").val(),
            },
            page: {
                curr: 1, //重新从第一页开始
            }
        });
    });

    table.on('toolbar(saleChances)', function (data) {
        //data.event:对应元素上设置的lay-event属性值

        if (data.event == "add") {
            //添加操作
            openSaleChanceDialog(null);

        } else if (data.event == "del") {
            //删除多条营销机会
            deleteSaleChance(data);
        }
    });

    /**
     * 删除多条营销机会
     */
    function deleteSaleChance(data) {
        //获取选中表格的行数据      table.checkStatus("数据表格的ID属性值");
        var checkStatus = table.checkStatus("saleChanceTable");

        //获取选中行中的数据
        var saleChanceData = checkStatus.data;

        //判断用户是否选择的记录，（选中行的数量大于0）
        if (saleChanceData.length < 1) {
            layer.msg("请选择要删除的记录", {icon: 5});
            return;
        }

        //询问用户是否删除
        layer.confirm('确认删除？', {icon: 3, title: "营销机会管理"}, function (index) {
            layer.close(index);
            //传递的参数是数组，ids=1&ids=2....
            var ids = "ids=";
            //循环刚才拿到的数组
            for (var i = 0; i < saleChanceData.length; i++) {
                if (i < saleChanceData.length - 1) {
                    ids += saleChanceData[i].id + "&ids=";
                } else {
                    ids += saleChanceData[i].id;
                }
            }
            // console.log(ids);
            $.ajax({
                type: "post",
                url: ctx + "/sale_chance/delete",
                data: ids,      //传递格式为数组
                success: function (result) {
                    if (result.code == 200) {
                        layer.msg("删除成功！", {icon: 6});
                    } else {
                        layer.msg("删除失败！", {icon: 5});
                    }
                }
            })
        });
    }


    /**
     * 打开弹出层
     * @param saleChanceId
     */
    function openSaleChanceDialog(saleChanceId) {
        var title = "<h2>营销机会管理 - 添加营销机会</h2>";
        var url = ctx + "/sale_chance/toSaleChancePage";

        if (saleChanceId != null && saleChanceId != '') {
            //更新操作
            title = "<h2>营销机会管理 - 更新营销机会</h2>";
            //请求后端数据
            url += "?saleChanceId=" + saleChanceId;
        }

        //iframe层
        layer.open({
            type: 2,
            title: title,
            shadeClose: true,
            shade: 0.8,
            area: ['500px', '620px'],
            content: url,
            maxmin: true,
        });
    }

    /**
     * 行工具栏监听事件
     table.on('tool(saleChances)', function (data) {
     });
     */
    table.on('tool(saleChances)', function (data) {

        if (data.event == "edit") {
            //打开弹出层
            openSaleChanceDialog(data.data.id);
        } else if (data.event == "del") {
            layer.confirm('确认删除', {icon: 3}, {title: "营销机会管理"}, function (index) {
                //关闭确认源
                layer.close(index);

                //发送ajax请求，删除记录
                $.ajax({
                    type: "post",
                    url: ctx + "/sale_chance/delete",
                    data: {
                        ids: data.data.id,
                    },
                    success: function (result) {
                        //判断
                        if (result.code == 200) {
                            // 成功
                            layer.msg("删除成功", {icon: 6});
                            tableIns.reload();
                        } else {
                            // 失败
                            layer.msg("删除失败", {icon: 5});
                        }
                    }
                });
            });
        }
    });
});
